//
//  Tools.h
//  CNPText
//
//  Created by cnp on 17/3/31.
//  Copyright © 2017年 CNP. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>


typedef void(^canclebutton)(void);
typedef void(^makesurebutton)(void);

@interface Tools : NSObject
#pragma mark----判断网络类型
/**
 判断网络类型
 */
+(void)judgenetworking;

#pragma mark----设置系统的导航、分栏属性
/**
 * 设置系统的导航、分栏属性
 *
 *
 */
+(void)setAppearance;
#pragma mark----判断手机号、邮箱
/**
 *
 * 判断手机号
 *
 **/
+(BOOL)isMobileNumber:(NSString *)mobileNum;
/**
 *
 * 邮箱
 *
 **/
+ (BOOL) validateEmail:(NSString *)email;
#pragma mark----颜色表示
/**
 *
 * 16进制颜色(html颜色值)字符串转为UIColor
 *
 **/
+(UIColor *) hexStringToColor: (NSString *) stringToConvert;
#pragma mark----不同大小和颜色的字符串组合
/**
 *
 * 两个不同大小和颜色的字符串组合
 *
 **/
+(NSMutableAttributedString *)DifferentString1:(NSString *)string1 color1:(UIColor *)color1 font1:(NSInteger)font1  string2:(NSString *)string2 color2:(UIColor *)color2 font2:(NSInteger)font2;
/**
 *
 * 三个不同大小和颜色的字符串组合
 *
 **/
+(NSMutableAttributedString *)DifferentString1:(NSString *)string1 color1:(UIColor *)color1 font1:(NSInteger)font1  string2:(NSString *)string2 color2:(UIColor *)color2 font2:(NSInteger)font2 string3:(NSString *)string3 color3:(UIColor *)color3 font3:(NSInteger)font3;
#pragma mark----初始化UIImage
/**
 *
 * 初始化UIImage
 *
 **/
+ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size;
#pragma mark----计算字符串的宽度和高度
/**
 *
 * 计算字符串的宽度
 *
 **/
+(CGFloat)widthForWithNSSting:(NSString *)string stringHeight:(CGFloat )stringHeight fontSize:(CGFloat)fontSize;
/**
 *
 * 计算字符串的高度
 *
 **/
+(CGFloat)heightForWithNSSting:(NSString *)string stringWidth:(CGFloat )stringWidth fontSize:(CGFloat)fontSize;
#pragma mark----清空字符串中的空白字符
/**
 *
 * 清空字符串中的空白字符
 *
 **/
+ (NSString *)trimString:(NSString *)string;
#pragma mark----时间
/**
 *
 * 获取当前时间戳
 *
 **/
+(NSString *)getNowTimeString;
/**
 *
 * 时间戳转时间字符串
 *
 **/
+(NSString *)timenumberchangetime:(int)timebunber;
#pragma mark----UIAlertView提示框
/**
 *
 * 仅消息提示框
 *
 **/
+(void)ShowAlertView:(UIViewController *)ViewController message:(NSString *)message;
/**
 *
 * 有确定事件的提示框
 *
 **/
+(void)ShowAlertView:(UIViewController *)ViewController message:(NSString *)message makesurebutton:(makesurebutton)makesurebutton;
/**
 *
 * 有确定事件和取消事件的提示框
 *
 **/
+(void)showAlertView:(UIViewController *)viewController title:(NSString *)title message:(NSString *)message cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitle:(NSString *)otherButtonTitle  canclebutton:(canclebutton)canclebutton makesurebutton:(makesurebutton)makesurebutton;
#pragma mark----在本地存取数据
/**
 *
 * 存储数据到本地
 *
 **/
+(void)SaveDatatoLocalofContent:(id)content key:(NSString *)key;
/**
 *
 * 从本地取数据
 *
 **/
+(id)AskDatafromLocalofNSString:(NSString *)key;
/**
 *
 * 从本地删除数据
 *
 **/
+(void)delegateDatafromBase:(NSString *)key;
#pragma mark----不可变字典变成可变字典
/**
 *
 * 从本地删除数据
 *
 **/
+(NSMutableDictionary *)DictionarychangtoNsmutabledictionary:(NSDictionary *)Dictionary;
#pragma mark----拼接数组内容成字符串
/**
 * 拼接数组内容成字符串
 *
 *  @param arrary  数组
 *
 *  @return  NSString
 **/
+(NSString *)addArraryContentToString:(NSArray *)arrary;
#pragma mark----删除子视图
/**
 *
 * 删除子视图
 *
 **/
+(void)delegateviewfromFatherview:(UIView *)fatherview childviewtag:(int)childviewtag;

#pragma mark----切换动画
/**
 *
 * 删除子视图
 *
 **/
+(void)ExchangeViewofCATransitionWithType:(NSString *)type subtype:(NSString *)subtype subview:(UIView *)subview;
#pragma mark----一维数组变成二维数组
/**
 *
 * 一维数组变成二维数组
 *
 **/
+(NSArray *)OneArraryChangeTwoArrary:(NSArray *)oneArrary number:(int)number;

#pragma mark---- 压缩图片
/**
 *   压缩图片
 *
 *  @param image color description
 *  @param newSize  size description
 *
 *  @return ID
 */
+(UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize;
#pragma mark----设置导航栏属性
/**
 *
 *   设置导航title字体颜色和大小
 *
 **/
+(void)setNvrTitleWithviewcontroller:(UIViewController *)viewcontroller Color:(UIColor *)color font:(NSInteger)font;
/**
 *
 *   设置导航背景颜色
 *
 **/
+(void)setNvrBackgroundColorWithViewcontroller:(UIViewController *)viewcontroller Color:(UIColor *)color;
/**
*
*   获取网络图片的尺寸
*
**/
+(CGSize)getImageSizeWithURL:(id)imageURL;


#pragma mark----获取URL视频的图片
/**
 *
 *   获取网络图片
 *
 **/
+ (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time ;

+(UIImage *)getImage:(NSString *)videoURL;
#pragma mark----无数据view
/**
 *
 *   无数据view
 *
 **/
+(void)addNoDataView:(UIView *)footView;;
+(void)deleteNodataView:(UIView *)footview;



#pragma mark----开启一个定时器
/**
开启一个定时器

@param target 定时器持有者
@param timeInterval 执行间隔时间
@param handler 重复执行事件
*/
void dispatchTimer(id target, double timeInterval,void (^handler)(dispatch_source_t timer));


/**
 *  将当前的countdownTimeStr信息转换成时间字符串： 00：00
 */
+(NSString *)currentTimeStringWith:(int)countdownTime;




@end
